package com.jiuzhou.crawlers.taobao.crawler.taobao;

import java.util.List;

import javax.management.JMException;

import com.jiuzhou.crawlers.taobao.pipeline.taobao.TaoBaoPipeline;
import com.jiuzhou.crawlers.taobao.pipeline.taobao.TaobaoCommendsPipeline;
import com.jiuzhou.crawlers.taobao.processor.taobao.CommentsProcessor;
import com.jiuzhou.crawlers.taobao.processor.taobao.constant.CommonConstant;
import com.jiuzhou.crawlers.taobao.processor.util.RequstObtain;
import com.jiuzhou.crawlers.taobao.scheduler.SpikeFileCacheQueueScheduler;

import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.monitor.SpiderMonitor;

/**
	 * 项目名称：大数据爬虫
	 * @author yanganzhen
	 * version-code：1.0
     * 类说明：爬取评论启动类
     * 创建时间：2016年12月20日
	 */
public class CommendStart {

	public static void main(String[] args) throws JMException {
		//初始变量设置
		 RequstObtain rq = new RequstObtain();
		 CommonConstant.CURRENTTYPE="手机";  //抓取网页过程中，意外停止时的关键词
		 
		/**
		 * 数据爬取request数量设置
		 * 当前爬取关键词：无
		 * 爬取内容：评论
	     * 跳过爬取url个数：0
	     * 需要爬取url个数：500000
	     * 爬取多少个页面后进行存储：5000
	     * 目前完成个数：550000------10050000
		 */
	     List<String> urlList = rq.getRequstById("hdfs://master:9000/user/yanganzhen/", 550000, 500000); //设置链接获取getRequstById("hdfs文件地址",跳过爬取个数,总共爬取个数）
	     
	     
	     //爬虫设置
	     String[] toBeStored = urlList.toArray(new String[urlList.size()]);    
		  Spider oschinaSpider = Spider.create(new CommentsProcessor())
		  .addUrl(toBeStored).addPipeline(new TaobaoCommendsPipeline("hdfs://master:9000/user/yanganzhenGoodsDetail/allsorts/",5000)).thread(40);
	       SpikeFileCacheQueueScheduler file=new SpikeFileCacheQueueScheduler("F:\\urlList");
	       file.setRegx("https://rate.taobao.com/feedRateList.htm");
	       oschinaSpider.setScheduler(file);
		  SpiderMonitor.instance().register(oschinaSpider);
		  oschinaSpider.start();
	}

}
